Requirement already satisfied: matplotlib in /opt/conda/lib/python3.10/site-packages (3.10.3)
Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (1.3.2)
Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (4.58.4)
Requirement already satisfied: kiwisolver>=1.3.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (1.4.8)
Requirement already satisfied: numpy>=1.23 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (1.26.0)
Requirement already satisfied: packaging>=20.0 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (23.1)
Requirement already satisfied: pillow>=8 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (9.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (3.2.3)
Requirement already satisfied: python-dateutil>=2.7 in /opt/conda/lib/python3.10/site-packages (from matplotlib) (2.8.2)
Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Note: you may need to restart the kernel to use updated packages.
Requirement already satisfied: seaborn in /opt/conda/lib/python3.10/site-packages (0.13.2)
Requirement already satisfied: numpy!=1.24.0,>=1.20 in /opt/conda/lib/python3.10/site-packages (from seaborn) (1.26.0)
Requirement already satisfied: pandas>=1.2 in /opt/conda/lib/python3.10/site-packages (from seaborn) (2.1.4)
Requirement already satisfied: matplotlib!=3.6.1,>=3.4 in /opt/conda/lib/python3.10/site-packages (from seaborn) (3.10.3)
Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.3.2)
Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (4.58.4)
Requirement already satisfied: kiwisolver>=1.3.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.4.8)
Requirement already satisfied: packaging>=20.0 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (23.1)
Requirement already satisfied: pillow>=8 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (9.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (3.2.3)
Requirement already satisfied: python-dateutil>=2.7 in /opt/conda/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /opt/conda/lib/python3.10/site-packages (from pandas>=1.2->seaborn) (2023.3.post1)
Requirement already satisfied: tzdata>=2022.1 in /opt/conda/lib/python3.10/site-packages (from pandas>=1.2->seaborn) (2023.3)
Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.4->seaborn) (1.16.0)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Note: you may need to restart the kernel to use updated packages.

EDA 분석¶

문서 이미지 분류 CV EDA는 스캔 품질, 종이 상태, 회전, 손상, OCR 인식 가능성 같은 문서 특유의 노이즈 성능에 영향을 줍니다.

1️⃣ 클래스 분포 (Imbalance 확인) : Macreo F!이 평가지표이며, 해당 평가지표는 Imbalance에 민감.¶

  • train.csv에서 target별 분포 파악.
  • Bar chart로 클래스별 개수 비교.
  • 일부 희귀 클래스가 있다면 oversampling/undersampling 필요 여부 판단.

2️⃣ 이미지 해상도, 종횡비 분석¶

  • 모든 이미지의 (Width, Height) 저장.
  • Min, Max, Mean, Std 확인.
  • 너무 작은 이미지 있으면 OCR 누락 가능성, 너무 큰 이미지 있으면 resize 정책 검토. ✅ 문서 스캔본은 종종 크기가 제각각임.

3️⃣ 샘플 이미지 시각화¶

  • 각 클래스별로 대표 샘플 5~10장씩 랜덤으로 그리드 출력.
  • 회전, 빛 번짐, 종이 구김 등 노이즈가 보이는지 확인. ✅ 실제 Augraphy/Albumentations 증강 전략에 영향.

4️⃣ Rotation/Flip 패턴 체크¶

  • 일부 이미지가 90°, 180° 회전되어 있을 수 있음.
  • Test셋에 rotation noise가 포함돼 있다면 학습셋에도 강한 rotation 증강 필요.

5️⃣ Noise & Blur 탐지¶

  • 이미지 sharpness 분포 간단히 확인.
  • OpenCV의 cv2.Laplacian으로 Blur Score 확인.
  • 빛 번짐, 스캔 자국, 스탬프/필기 있는지. ✅ Augraphy로 같은 패턴 재현 가능.

6️⃣ 클래스별 시각적 유사도 확인¶

  • 혼동될 가능성이 있는 클래스(예: 운전면허증 vs 주민등록증) 비교 시각화.
  • 최종 Confusion Matrix 분석 포인트 미리 찾기. ✅ 이후 Hard Negative Mining에도 도움.

✅ 추천 추가: Augraphy 증강 후보 선정¶

  • EDA에서 찾은 Rotation/Noise → 증강 파이프라인 설계에 반영
  • 문서 특화 증강: 구김, Blur, InkBleed, Brightness variation, Folding 등
1570
3140
학습 데이터셋 크기: (591, 443, 3) 16
이미지 파일 경로: ../data/train/002f99746285dfdd.jpg
평가 데이터셋 크기: (591, 443, 3) 0
평가 이미지 경로: ../data/test/0008fdb22ddce0ce.jpg

클래스 분포 확인¶

  • account_number (계좌번호)
  • application_for_payment_of_pregnancy_medical_e (임신의료비 지급신청서)
  • car_dashboard (차량 대시보드)
  • confirmation_of_admission_and_discharge (입퇴원 확인서)
  • diagnosis (진단서)
  • driver_licence (운전면허증)
  • medical_bill_receipts (의료비 영수증)
  • medical_outpatient_certificate (의료 외래 증명서)
  • national_id_card (주민등록증)
  • passport (여권)
  • payment_confirmation (결제 확인서)
  • pharmaceutical_receipt (약국 영수증)
  • prescription (처방전)
  • resume (이력서)
  • statement_of_opinion (의견서)
  • vehicle_registration_certificate (차량등록증)
  • vehicle_registration_plate (차량번호판)
No description has been provided for this image
                                           class_name  count
0                                      account_number    100
1   application_for_payment_of_pregnancy_medical_e...     46
2                                       car_dashboard    100
3             confirmation_of_admission_and_discharge    100
4                                           diagnosis    100
5                                      driver_lisence    100
6                               medical_bill_receipts    100
7                      medical_outpatient_certificate    100
8                                    national_id_card    100
9                                            passport    100
10                               payment_confirmation    100
11                             pharmaceutical_receipt    100
12                                       prescription    100
13                                             resume     74
14                               statement_of_opinion     50
15                   vehicle_registration_certificate    100
16                         vehicle_registration_plate    100

클래스 분포¶

  • 17개 중 14개 이미지 100개 샘플 보유.
  • 1 application_for_payment_of_pregnancy_medical_expenses: 46

  • 13 resume 74

  • 14 statement_of_opinion 50

                        ID  target
0     002f99746285dfdd.jpg      16
1     008ccd231e1fea5d.jpg      10
2     008f5911bfda7695.jpg      10
3     009235e4c9c07af5.jpg       4
4     00b2f44967580c74.jpg      16
...                    ...     ...
1565  fed9e9ec4a77bc06.jpg       4
1566  feeade617aa68c45.jpg       7
1567  ff51dd281a8423f1.jpg      11
1568  ff8a6a251ce51c95.jpg       5
1569  ffc22136f958deb1.jpg       9

[1570 rows x 2 columns]
Index(['ID', 'target'], dtype='object')
    target                                         class_name
0        0                                     account_number
1        1  application_for_payment_of_pregnancy_medical_e...
2        2                                      car_dashboard
3        3            confirmation_of_admission_and_discharge
4        4                                          diagnosis
5        5                                     driver_lisence
6        6                              medical_bill_receipts
7        7                     medical_outpatient_certificate
8        8                                   national_id_card
9        9                                           passport
10      10                               payment_confirmation
11      11                             pharmaceutical_receipt
12      12                                       prescription
13      13                                             resume
14      14                               statement_of_opinion
15      15                   vehicle_registration_certificate
16      16                         vehicle_registration_plate
Index(['target', 'class_name'], dtype='object')

test, train 데이터셋 각 샘플들 확인¶

No description has been provided for this image
No description has been provided for this image

문서 이미지 기술 통계¶

  • 실제로 증강(Augraphy), 전처리 파이프라인 설계의 근거 데이터가 됨.
  • 특히 rotation, blur, noise는 Test셋이 실제 현실 데이터라면 더 중요.
Feature 도출할 수 있는 결과 인사이트 실질적으로 취할 수 있는 전략
width 가로 해상도 분포 → 작은 해상도 이미지 비율 확인 작은 이미지는 resize 시 픽셀 깨짐 위험 → 최소 해상도 threshold 정하거나 padding 사용
height 세로 해상도 분포 → 세로 길이 편차 확인 종횡비 균일화 → Resize 후 Aspect Ratio 유지 or Pad로 빈 공간 채움
aspect_ratio 종횡비 왜곡 가능성 → 극단적인 비율 여부 Aspect Ratio 보존 Resize / Warping 방지
channels 흑백/컬러 혼합 여부 → RGB 채널 수 확인 흑백이면 ColorJitter 불필요, 컬러이면 색상 변환 증강 추가 가능
file_size_kb 파일 용량 분포 → 압축도 편차 파악 과도한 압축(용량 적음)은 화질 열화 위험 → 압축 artifacts 대응 증강
total_pixels 이미지 크기 총합 → 극단적 소형/대형 문서 탐지 대형은 다운스케일, 소형은 Upscale 시 품질 유지 증강 고려
brightness 밝기 평균 → 너무 어둡거나 밝은 문서 비율 Brightness/Contrast 증강 범위 설정
contrast 대비 낮은 문서 비율 Contrast Limited Adaptive Histogram Equalization(CLAHE) 전처리
sharpness Blur 심한 문서 탐지 Blur 증강 (Defocus) or 선명화(Sharpen) 필요성 결정
edge_ratio 문서 복잡도/경계 선명도 → 표/선 구조 비율 복잡한 문서는 더 높은 해상도 유지 필요, Simple은 압축 가능
b_mean g_mean r_mean 평균 색상 → 컬러 균일성 확인 스캔 조명 영향 탐지, White Balance 전처리 고려
histogram_entropy 이미지 정보량 → 단조로운 배경/정보 많은 문서 구분 Low Entropy → Adaptive Threshold / Binarization
histogram_skewness 밝기 치우침 → 그림자, 빛 번짐 여부 그림자 제거 증강, 밝기 정규화
histogram_kurtosis 피크/플랫 정도 → 극단적 contrast 여부 Flat하면 가벼운 Enhance, High하면 노이즈 제거 주의
skew_angle 기울기 편향 → 스캔 잘못된 문서 비율 Rotation 증강, 또는 Inference 전 Auto Deskew
white_space_ratio 빈 공간 비율 → 내용 밀도 Margin Cut, Crop, OCR 영역 탐지시 Threshold 조정
noise_level 스캔 노이즈 강도 → 잡음 많은 문서 비율 Noise Injection 증강 범위 결정
jpeg_quality_estimate 압축 artifacts 심한 비율 압축 artifact 대응 증강(Augraphy), 원본 화질 관리 정책
학습 데이터셋 샘플 개수 : 1570
                     ID  target
0  002f99746285dfdd.jpg      16
1  008ccd231e1fea5d.jpg      10
2  008f5911bfda7695.jpg      10
3  009235e4c9c07af5.jpg       4
4  00b2f44967580c74.jpg      16
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1570/1570 [00:28<00:00, 54.49it/s]
                        count           mean         std            min  \
idx                    1570.0     784.500000  453.364276       0.000000   
width                  1570.0     497.613376   79.370316     384.000000   
height                 1570.0     538.169427   76.074772     348.000000   
channels               1570.0       3.000000    0.000000       3.000000   
aspect_ratio           1570.0       0.970007    0.323053       0.563050   
total_pixels           1570.0  261779.949682  120.726659  261184.000000   
brightness             1570.0     148.395967   35.296561      17.588444   
contrast               1570.0      48.099466   19.195462      10.536620   
sharpness              1570.0    1357.220087  822.140831      69.930619   
edge_ratio             1570.0       0.082507    0.046438       0.002036   
b_mean                 1570.0     149.988828   35.995643      11.215654   
g_mean                 1570.0     148.742855   35.822025      11.224007   
r_mean                 1570.0     146.456218   35.091765      17.406363   
histogram_entropy      1570.0       6.285560    0.639936       4.070573   
histogram_skewness     1570.0       3.944939    4.107020      -0.052748   
histogram_kurtosis     1570.0      11.290074   28.931617       0.000101   
skew_angle             1570.0     -83.290696   23.630915     -90.000000   
white_space_ratio      1570.0       0.160193    0.204588       0.000000   
noise_level            1570.0      22.437822    8.277181       2.957964   
jpeg_quality_estimate  1570.0       0.003794    0.004068       0.000634   

                                 25%            50%            75%  \
idx                       392.250000     784.500000    1176.750000   
width                     443.000000     443.000000     591.000000   
height                    443.000000     591.000000     591.000000   
channels                    3.000000       3.000000       3.000000   
aspect_ratio                0.749577       0.749577       1.334086   
total_pixels           261813.000000  261813.000000  261813.000000   
brightness                126.958214     156.746556     174.322808   
contrast                   33.935308      41.794323      59.490628   
sharpness                 766.338681    1198.114066    1793.783542   
edge_ratio                  0.049826       0.072062       0.112078   
b_mean                    130.067327     158.384007     176.408769   
g_mean                    127.809441     157.073585     174.682364   
r_mean                    123.715320     154.673555     172.294698   
histogram_entropy           5.878024       6.259711       6.675744   
histogram_skewness          1.489075       2.485185       3.693036   
histogram_kurtosis          0.106299       0.481851       2.145641   
skew_angle                -90.000000     -90.000000     -90.000000   
white_space_ratio           0.001520       0.063725       0.255759   
noise_level                16.616946      21.236475      27.220543   
jpeg_quality_estimate       0.001748       0.002579       0.004053   

                                 max  
idx                      1569.000000  
width                     753.000000  
height                    682.000000  
channels                    3.000000  
aspect_ratio                2.163793  
total_pixels           262144.000000  
brightness                211.444996  
contrast                  113.592955  
sharpness                4954.869129  
edge_ratio                  0.259949  
b_mean                    217.894780  
g_mean                    211.959949  
r_mean                    215.953765  
histogram_entropy           7.888796  
histogram_skewness         15.238883  
histogram_kurtosis        187.240791  
skew_angle                 -0.000000  
white_space_ratio           0.888672  
noise_level                55.604062  
jpeg_quality_estimate       0.040442  

기술 통계를 통한 인사이트 도출¶

해상도 & 종횡비¶

항목 값 인사이트 전략
width 평균 497px (min 384 ~ max 753) 해상도가 꽤 작음 → 작은 문서 품질 주의 너무 작은 건 Upscale, Resize+Padding
height 평균 538px (min 348 ~ max 682) 세로는 좀 긴 편 Aspect Ratio 보존 중요
aspect_ratio 평균 0.97, max 2.16 종횡비 분산 있음 (긴 문서 있음) 비율 보존 Resize → Pad로 채워야 왜곡 방지

밝기/ 대비 품질¶

항목 값 인사이트 전략
brightness 평균 148.4, min 17.5, max 211 일부 굉장히 어두운 문서 있음 밝기 정규화 증강 필요
contrast 평균 48.1, min 10.5 낮은 대비 → 흐릿한 스캔 있음 CLAHE 적용 고려
b/g/r_mean 146~149 범위 컬러 불균형 크지 않음 White Balance는 크게 필요 없음

Sharpness & Edge 복잡도¶

항목 값 인사이트 전략
sharpness 평균 1357, max 4954 Sharpness 편차 매우 큼 → 흐린 스캔 많음 Blur 증강 + 선명화 모델 튜닝
edge_ratio 평균 8.2% (max 25%) 복잡한 테이블/선 포함 문서 존재 OCR box 추출시 Edge Noise 주의

히스토그램 특성 (정보량)¶

항목 값 인사이트 전략
hist_entropy 평균 6.2 (max 7.9) 정보량 꽤 높음 → 다양한 문서 단조로움 대비 Robustness 증강
hist_skewness 평균 3.9 (max 15.2) 밝기 분포 치우침 있음 그림자 보정 증강
hist_kurtosis 평균 11.2 (max 187) 일부 극단적 피크 분포 Adaptive threshold, smoothing 설계 필요

Skew Angle (회전 왜곡)¶

항목 값 인사이트 전략
skew_angle 평균 -83도, min -90, max 0 -90도 근처 많음 → 문서가 세로로 회전된 케이스 다수 Train에 Rotation 증강 필수! Inference Deskew 필요

공백 비율 (White Space)¶

항목 값 인사이트 전략
white_space_ratio 평균 16% (max 88%) 일부 문서는 여백이 거의 없음 (dense 문서) Margin crop or Centering 필요

Noise Level & JPEG 품질¶

항목 값 인사이트 전략
noise_level 평균 22, max 55 잡음 편차 있음 Noise 증강(Augraphy Noise Phase)
jpeg_quality_estimate 평균 0.0037, max 0.04 일부는 압축 artifacts 있음 Compression artifacts 증강
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3140/3140 [00:53<00:00, 58.34it/s]
                        count           mean         std            min  \
idx                    3140.0    1569.500000  906.584249       0.000000   
width                  3140.0     517.085032   79.846556     343.000000   
height                 3140.0     518.556369   79.803967     343.000000   
channels               3140.0       3.000000    0.000000       3.000000   
aspect_ratio           3140.0       1.045708    0.317740       0.449541   
total_pixels           3140.0  261787.039490  118.835685  261120.000000   
brightness             3140.0     172.296803   34.456247      32.234088   
contrast               3140.0      49.228707   20.622606      13.199308   
sharpness              3140.0     688.369854  549.666666      53.730124   
edge_ratio             3140.0       0.059358    0.036769       0.002013   
b_mean                 3140.0     173.213657   34.332670      31.075695   
g_mean                 3140.0     172.542000   34.736380      25.586231   
r_mean                 3140.0     171.134752   34.737333      25.914672   
histogram_entropy      3140.0       6.136561    0.597689       3.422737   
histogram_skewness     3140.0       5.716070    4.086486      -0.049873   
histogram_kurtosis     3140.0      14.189475   23.784543       0.000246   
skew_angle             3140.0     -69.437151   35.882261     -90.000000   
white_space_ratio      3140.0       0.390617    0.274982       0.000000   
noise_level            3140.0      21.160999    7.277478       4.490334   
jpeg_quality_estimate  3140.0       0.006982    0.004676       0.000659   

                                 25%            50%            75%  \
idx                       784.750000    1569.500000    2354.250000   
width                     443.000000     489.000000     591.000000   
height                    443.000000     535.500000     591.000000   
channels                    3.000000       3.000000       3.000000   
aspect_ratio                0.749577       0.914688       1.334086   
total_pixels           261813.000000  261813.000000  261813.000000   
brightness                153.729869     177.743982     199.871576   
contrast                   33.442413      42.378109      62.780802   
sharpness                 322.646434     528.187434     867.300183   
edge_ratio                  0.034528       0.051602       0.075832   
b_mean                    155.104092     179.291418     200.599507   
g_mean                    153.997541     178.195756     200.245467   
r_mean                    151.692121     176.735538     199.278374   
histogram_entropy           5.736810       6.078918       6.490517   
histogram_skewness          2.091002       4.647940       9.157573   
histogram_kurtosis          0.330484       2.665698      18.813673   
skew_angle                -90.000000     -90.000000     -75.028715   
white_space_ratio           0.151594       0.353658       0.632783   
noise_level                15.715907      19.337564      25.871049   
jpeg_quality_estimate       0.003557       0.005831       0.009325   

                                 max  
idx                      3139.000000  
width                     763.000000  
height                    763.000000  
channels                    3.000000  
aspect_ratio                2.224490  
total_pixels           262144.000000  
brightness                226.015379  
contrast                  119.279401  
sharpness                4697.581178  
edge_ratio                  0.229945  
b_mean                    226.942199  
g_mean                    226.137396  
r_mean                    227.138603  
histogram_entropy           7.838874  
histogram_skewness         15.066031  
histogram_kurtosis        212.025717  
skew_angle                 -0.000000  
white_space_ratio           0.962508  
noise_level                51.237145  
jpeg_quality_estimate       0.056646  

Train vs Test 비교 분석¶

Feature Train 평균 Test 평균 차이점 핵심 인사이트
Width / Height 498×538 517×519 Test가 살짝 더 크고 비율은 살짝 정사각형에 가까움
Aspect Ratio 0.97 1.04 Train은 종횡비 1 이하, Test는 더 정사각형 + max 2.2 → 긴 문서 여전히 존재
Brightness 148.4 172.3 Test가 훨씬 밝음
Contrast 48.1 49.2 거의 비슷
Sharpness 1357 688 Test가 훨씬 Blur 심함
Edge Ratio 0.082 0.059 Test가 경계선 복잡도가 낮음
Histogram Entropy 6.28 6.13 정보량 비슷, Test가 살짝 단조로움
Histogram Skewness 3.94 5.72 Test는 밝기 분포가 오른쪽으로 치우침 → 밝은 배경 ↑
Skew Angle -83 -69 여전히 강한 Skew 존재 (최대 -90)
White Space Ratio 0.16 0.39 Test가 공백 비율 훨씬 높음
Noise Level 22.4 21.1 Noise Level 유사, Test가 약간 깨끗함
JPEG Quality Estimate 0.0038 0.0070 Test가 더 높은 artifacts 추정 → 압축 손실 더 있음

최종 EDA 인사이트¶

항목 EDA 인사이트 대응 전략
해상도 & Aspect Ratio Test가 평균적으로 조금 더 크고 정사각형에 가까움. 긴 문서도 여전히 존재. - 긴 문서 강제로 Resize + Pad
- Aspect Ratio 유지 필수 → 왜곡 방지
밝기 & Contrast Test는 밝기 평균이 훨씬 높음. Skewness↑ → 밝은 픽셀에 치우침 (빛 번짐/백지). - Brightness/Contrast 증강 범위 ↑
- 밝기 높은 문서에 Robust한 모델 학습
Sharpness & Blur Train 평균 Sharpness 1357 → Test 688 → Test Blur 심함! - Augraphy Blur Phase 강도 ↑
- Laplacian variance 기반 선명 샘플 Blur 추가
Edge Ratio Test 경계선 복잡도 낮음 → 표/테이블 적고 공백↑ 텍스트 위주 - Margin Crop & Content Focus 적용
- 공백 많은 금융문서 정보손실 방지
Skew Angle Train/Test 모두 Skew 심함 (-90~0). Test 평균 -69도로 약간 덜함. - Deskew Phase 고려
- Rotation 증강 + Affine Transform으로 Skew 강화
White Space Ratio Test 평균 공백 비율 0.39 (Train은 0.16). 공백 많아 배경 학습 위험 ↑ - Margin Cut 증강으로 Content 중심
- Aspect Ratio 유지하며 Padding 안정화
Noise Level & JPEG Artifacts Noise는 거의 동일. Test JPEG Proxy 2배 ↑ → 압축 artifacts 심함. - Augraphy Compression Phase 활성화
- Quality↓ 이미지로 artifacts 대응

Train vs Test 기술 통계 비교 EDA¶

  • KDE Plot : 연속형 분포 확인 / 스무딩 곡선으로 모양 부드럽게 확인 가능
  • 바이올린 플롯 : 분포 모양까지 확인 / 박스플롯 + KDE 결합 -> 양 끝 꼬리 비교
No description has been provided for this image
No description has been provided for this image